<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>JS数据类型</title>
</head>
<body>
    <script>
        //JS数据类型:原始数据类型(基础类型)+引用类型
        //JS原始数据类型:number数字 string字符串 boolean布尔 undefined未定义 null空

        //1)number类型 整数+小数
        let a = 1;
        let b = 9.9;
        console.log(typeof a+":"+a);
        console.log(typeof b+":"+b);

        //2)string字符串类型 单引+双引都可以
        let c = '你好元旦！';
        let d = "你好2024！";
        console.log(typeof c+":"+c);
        console.log(typeof d+":"+d);

        //3)boolean布尔类型 true==>1 false==>0
        let e = true;
        let f = false;
        console.log(typeof e+":"+e);
        console.log(typeof f+":"+f);

        //4)undefined未定义
        //变量声明但未赋值
        //访问对象不存在的属性,访问数组不存在的下标
        let g;
        console.log(typeof g+":"+g);
        let h = undefined;
        console.log(typeof h+":"+h);

        //引用数据类型:Object Array Function Number String Boolean...
        //1)Object对象类型
        // let obj={}; ==> new obj();
        let obj = {
            //属性名:属性值,多对数据用逗号隔开
            name:'张三',
            age:18
        };//结束写分号
        console.log(obj);//{name: '张三', age: 18}
        //使用.查看对象的属性值
        console.log(obj.name,obj.age);//张三 18
        //如果属性存在，就是修改属性值
        obj.age = 20;
        console.log(obj.age);
        //如果属性不存在，就是新增属性值
        obj.like = '过元旦';
        console.log(obj);
        console.log(obj.eat);//undefined:访问没有属性

        //2)Array数组类型
        let arr = ['李逵','后羿','鲁班',1,3.5,true];
        console.log(arr);
        console.log(arr[0]);
        console.log(arr[99]);
    </script>
</body>
</html>